ef394ec2b2b32352bc361b5fc2e00ce16611271a,jackson/src/main/java/com/webcohesion/enunciate/modules/jackson/api/impl/ObjectDataTypeImpl.java,ObjectDataTypeImpl,getSubtypes,#,118
Before Change
@Override
public List<DataTypeReference> getSubtypes() {
ArrayList<DataTypeReference> subtypes = new ArrayList<DataTypeReference>();
String myClassName = this.typeDefinition.getQualifiedName().toString();
for (TypeDefinition td : this.typeDefinition.getContext().getTypeDefinitions()) {
if (td instanceof ObjectTypeDefinition) {
TypeMirror superclass = td.getSuperclass();
if (superclass instanceof DeclaredType && (((TypeElement) ((DeclaredType) superclass).asElement()).getQualifiedName().toString().equals(myClassName))) {
subtypes.add(new DataTypeReferenceImpl(JsonTypeFactory.getJsonType(td.asType(), this.typeDefinition.getContext())));
}
}
After Change
public List<DataTypeReference> getSubtypes() {
ArrayList<DataTypeReference> subtypes = new ArrayList<DataTypeReference>();
for (TypeDefinition td : this.typeDefinition.getContext().getTypeDefinitions()) {
if (td instanceof ObjectTypeDefinition && !td.getQualifiedName().contentEquals(this.typeDefinition.getQualifiedName()) && ((DecoratedTypeMirror)td.asType()).isInstanceOf(this.typeDefinition)) {
subtypes.add(new DataTypeReferenceImpl(JsonTypeFactory.getJsonType(td.asType(), this.typeDefinition.getContext())));
}
}